package io.renren.modules.scheduled;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * 定时任务调用类
 * 仅测试使用，不参与项目流程
 */
@RequestMapping("test")
@RestController
public class TestController {

    /**
     * 启动任务
     * @param taskId    任务唯一标识
     * @param taskTime  执行时间（毫秒）
     */
    @RequestMapping("add")
    public void a(@RequestParam(value = "taskId") Integer taskId,
                  @RequestParam(value = "taskTime") int taskTime){
        ScheduleTask helloTask1 = new MyTask(taskId);//new一个具体的执行任务
        ScheduleUtil.start1(helloTask1,  taskTime);

    }

    /**
     * 修改任务
     * @param taskId    任务唯一标识
     * @param taskTime  执行时间（毫秒）
     */
    @RequestMapping("update")
    public void b(@RequestParam(value = "taskId")Integer taskId,
                  @RequestParam(value = "taskTime")int taskTime){
        ScheduleTask helloTask1 = new MyTask(taskId);//new一个具体的执行任务
        ScheduleUtil.reset1(helloTask1, taskTime);//修改时间，10秒后执行

    }

    /**
     * 停止任务
     * @param taskId    任务唯一标识
     */
    @RequestMapping("stop")
    public void c(@RequestParam(value = "taskId")Integer taskId) {
        ScheduleTask helloTask1 = new MyTask(taskId);//new一个具体的执行任务
        ScheduleUtil.cancel(helloTask1);
    }

}
